home *** CD-ROM | disk | FTP | other *** search
/ Freelog 121 / FreelogMagazineJuilletAout2014-No121.iso / Outils / Adobe-Air / adobe-air_13.exe / [0] / setup.swf / scripts / mx / effects / effectClasses / TweenEffectInstance.as < prev    next >
Text File  |  2014-03-27  |  4KB  |  158 lines

  1. package mx.effects.effectClasses
  2. {
  3.    import mx.core.UIComponentGlobals;
  4.    import mx.core.mx_internal;
  5.    import mx.effects.EffectInstance;
  6.    import mx.effects.Tween;
  7.    import mx.events.TweenEvent;
  8.    
  9.    use namespace mx_internal;
  10.    
  11.    public class TweenEffectInstance extends EffectInstance
  12.    {
  13.       
  14.       mx_internal static const VERSION:String = "3.0.0.0";
  15.        
  16.       
  17.       private var _seekTime:Number = 0;
  18.       
  19.       public var easingFunction:Function;
  20.       
  21.       public var tween:Tween;
  22.       
  23.       mx_internal var needToLayout:Boolean = false;
  24.       
  25.       public function TweenEffectInstance(param1:Object)
  26.       {
  27.          super(param1);
  28.       }
  29.       
  30.       override public function stop() : void
  31.       {
  32.          super.stop();
  33.          if(tween)
  34.          {
  35.             tween.stop();
  36.          }
  37.       }
  38.       
  39.       mx_internal function applyTweenStartValues() : void
  40.       {
  41.          if(duration > 0)
  42.          {
  43.             onTweenUpdate(tween.getCurrentValue(0));
  44.          }
  45.       }
  46.       
  47.       override public function get playheadTime() : Number
  48.       {
  49.          if(tween)
  50.          {
  51.             return tween.playheadTime + super.playheadTime;
  52.          }
  53.          return 0;
  54.       }
  55.       
  56.       protected function createTween(param1:Object, param2:Object, param3:Object, param4:Number = -1, param5:Number = -1) : Tween
  57.       {
  58.          var _loc6_:Tween;
  59.          (_loc6_ = new Tween(param1,param2,param3,param4,param5)).addEventListener(TweenEvent.TWEEN_START,tweenEventHandler);
  60.          _loc6_.addEventListener(TweenEvent.TWEEN_UPDATE,tweenEventHandler);
  61.          _loc6_.addEventListener(TweenEvent.TWEEN_END,tweenEventHandler);
  62.          if(easingFunction != null)
  63.          {
  64.             _loc6_.easingFunction = easingFunction;
  65.          }
  66.          if(_seekTime > 0)
  67.          {
  68.             _loc6_.seek(_seekTime);
  69.          }
  70.          _loc6_.playReversed = mx_internal::playReversed;
  71.          return _loc6_;
  72.       }
  73.       
  74.       private function tweenEventHandler(param1:TweenEvent) : void
  75.       {
  76.          dispatchEvent(param1);
  77.       }
  78.       
  79.       override public function end() : void
  80.       {
  81.          stopRepeat = true;
  82.          if(mx_internal::delayTimer)
  83.          {
  84.             mx_internal::delayTimer.reset();
  85.          }
  86.          if(tween)
  87.          {
  88.             tween.endTween();
  89.             tween = null;
  90.          }
  91.       }
  92.       
  93.       override public function reverse() : void
  94.       {
  95.          super.reverse();
  96.          if(tween)
  97.          {
  98.             tween.reverse();
  99.          }
  100.          super.playReversed = !mx_internal::playReversed;
  101.       }
  102.       
  103.       override mx_internal function set playReversed(param1:Boolean) : void
  104.       {
  105.          super.playReversed = param1;
  106.          if(tween)
  107.          {
  108.             tween.playReversed = param1;
  109.          }
  110.       }
  111.       
  112.       override public function resume() : void
  113.       {
  114.          super.resume();
  115.          if(tween)
  116.          {
  117.             tween.resume();
  118.          }
  119.       }
  120.       
  121.       public function onTweenEnd(param1:Object) : void
  122.       {
  123.          onTweenUpdate(param1);
  124.          tween = null;
  125.          if(mx_internal::needToLayout)
  126.          {
  127.             UIComponentGlobals.layoutManager.validateNow();
  128.          }
  129.          finishRepeat();
  130.       }
  131.       
  132.       public function onTweenUpdate(param1:Object) : void
  133.       {
  134.       }
  135.       
  136.       override public function pause() : void
  137.       {
  138.          super.pause();
  139.          if(tween)
  140.          {
  141.             tween.pause();
  142.          }
  143.       }
  144.       
  145.       public function seek(param1:Number) : void
  146.       {
  147.          if(tween)
  148.          {
  149.             tween.seek(param1);
  150.          }
  151.          else
  152.          {
  153.             _seekTime = param1;
  154.          }
  155.       }
  156.    }
  157. }
  158.